package com.shy.configs.mvc.configuration;

import com.shy.configs.mvc.interceptors.AuthInterceptor;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 创建的springmvc的配置类
 */
@Configuration
public class BossMvcConfig  implements WebMvcConfigurer {
    @Resource
    private AuthInterceptor authInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authInterceptor)
                .addPathPatterns("/**")//拦截所有请求
                .excludePathPatterns("/operator/login", "/test/job");//放行登录接口
    }

    //设置全局跨域处理
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        System.out.println("===========addCorsMappings===========");
        registry.addMapping("/**")  //拦截的请求url
                .allowedOriginPatterns("*")    // 匹配请求来源 ， *表示所有来源
                .allowedMethods("GET",  "POST",  "OPTIONS") //允许使用的请求方式
                .allowCredentials(true)  //服务器支持cookie
                .maxAge(3600)            //3600秒，  OPTIONS有效时间。预检请求的有效时间
                .allowedHeaders("*");    //允许使用的header的名称
    }
}
